/*!
 * \file PorterDefs.h
 * \project	WonderTrader
 *
 * \author Wesley
 * \date 2020/03/30
 * 
 * \brief Porter接口定义头文件
 * 
 * \details 本文件定义了WonderTrader数据服务Porter接口的相关定义：
 *          - 定义数据查询回调函数类型
 *          - 提供K线数据和Tick数据的回调接口
 *          - 支持跨语言调用的数据传输机制
 *          - 实现数据批量传输和状态通知
 *          - 为外部系统提供标准化的数据接收接口
 */
#pragma once

#include <stdint.h>
#include "../Includes/WTSTypes.h"

NS_WTP_BEGIN
struct WTSBarStruct;
struct WTSTickStruct;
NS_WTP_END

USING_NS_WTP;

/**
 * @typedef FuncGetBarsCallback
 * @brief K线数据获取回调函数类型
 * @details 用于接收K线数据查询结果的回调函数类型定义：
 *          - 支持批量数据传输，提高传输效率
 *          - 通过isLast参数标识数据传输是否完成
 *          - 适用于大量历史数据的分批传输
 * @param bar K线数据结构体指针
 * @param count 本次传输的K线数据条数
 * @param isLast 是否为最后一批数据
 */
typedef void(PORTER_FLAG *FuncGetBarsCallback)(WTSBarStruct* bar, WtUInt32 count, bool isLast);

/**
 * @typedef FuncGetTicksCallback
 * @brief Tick数据获取回调函数类型
 * @details 用于接收Tick数据查询结果的回调函数类型定义：
 *          - 支持批量数据传输，提高传输效率
 *          - 通过isLast参数标识数据传输是否完成
 *          - 适用于大量历史Tick数据的分批传输
 * @param tick Tick数据结构体指针
 * @param count 本次传输的Tick数据条数
 * @param isLast 是否为最后一批数据
 */
typedef void(PORTER_FLAG *FuncGetTicksCallback)(WTSTickStruct* tick, WtUInt32 count, bool isLast);

